"""
五子棋MCTS配置文件
包含游戏规则、算法参数、难度设置等
"""

# ==================== 棋盘配置 ====================
BOARD_SIZE = 15              # 棋盘大小（15x15标准五子棋）
WIN_COUNT = 5                # 连子获胜数量

# ==================== MCTS算法配置 ====================
MCTS_SIMULATIONS = 1000      # 默认每步模拟次数（越大越强但越慢）
EXPLORATION_CONSTANT = 1.414  # UCB1探索常数（√2，平衡探索与利用）
MAX_SIMULATION_DEPTH = 100   # 最大模拟深度（防止无限循环）
SEARCH_DISTANCE = 2          # 搜索距离（只考虑已有棋子周围N格）

# ==================== 难度等级配置 ====================
DIFFICULTY = {
    'easy': 100,             # 简单：100次模拟（约1秒/步）
    'medium': 500,           # 中等：500次模拟（约3秒/步）
    'hard': 1000,            # 困难：1000次模拟（约5秒/步）
    'expert': 5000,          # 专家：5000次模拟（约20秒/步）
}

# ==================== GUI界面配置 ====================
CELL_SIZE = 40               # 每个格子的大小（像素）
MARGIN = 40                  # 棋盘边距（像素）
WINDOW_SIZE = BOARD_SIZE * CELL_SIZE + 2 * MARGIN  # 窗口大小
STATUS_HEIGHT = 100          # 状态栏高度

# 颜色配置（RGB）
COLOR_BG = (220, 179, 92)        # 棋盘背景色（木色）
COLOR_LINE = (0, 0, 0)           # 网格线颜色（黑色）
COLOR_BLACK = (0, 0, 0)          # 黑棋颜色
COLOR_WHITE = (255, 255, 255)    # 白棋颜色
COLOR_LAST_MOVE = (255, 0, 0)    # 最后一步标记（红色）
COLOR_TEXT = (0, 0, 0)           # 文字颜色

# ==================== 玩家配置 ====================
PLAYER_HUMAN = 1             # 人类玩家（黑方）
PLAYER_AI = -1               # AI玩家（白方）

# ==================== 开局库配置 ====================
OPENING_BOOK = {
    'center': (7, 7),                                    # 天元
    'star_points': [(3, 3), (3, 11), (11, 3), (11, 11)] # 星位
}
